package form

import "github.com/pkg/errors"

/*
 * 用户信息
 */
type UserForm struct {
	Id       uint    `form:"id" json:"id"`
	Name     string  `form:"name" json:"name"`         // 姓名
	Phone    string  `form:"phone" json:"phone"`       // 手机号码
	Img      string  `form:"img" json:"img"`           // 头像图片
	Balance  float64 `form:"balance" json:"balance"`   //余额
	Referrer string  `form:"referrer" json:"referrer"` // 推荐人
}

/*
 * 账户信息
 */
type UserBalanceForm struct {
	Id                uint   `form:"id" json:"id"`
	UserId            uint   `form:"user_id" json:"user_id"`                         // 创建明细的客户id
	ChangeBalance     string `form:"change_balance" json:"change_balance"`           //余额变更
	ChangeBalanceType string `form:"change_balance_type" json:"change_balance_type"` // 余额变更类型
	Detail            string `form:"detail" json:"detail"`                           //明细详情
}

// 分页查询查询
type UserPageQueryForm struct {
	Name  string `form:"name"`  // 姓名
	Phone string `form:"phone"` // 手机号
	Page  uint64 `form:"page"`  // 页数 1开始
	Limit uint64 `form:"limit"` // 条数
}

/*
 * 参数验证
 */
func (this UserForm) Validate() (bool, error) {
	if len(this.Name) < 1 {
		return false, errors.New("姓名不能为空")
	}
	if len(this.Name) > 12 {
		return false, errors.New("姓名输入过长")
	}
	if len(this.Phone) < 1 {
		return false, errors.New("手机号不能为空")
	}
	if len(this.Phone) != 11 {
		return false, errors.New("手机号码为11位")
	}
	return true, nil
}
